Push Notifications এবং Background Sync হল mobile applications এর গুরুত্বপূর্ণ ফিচার যা real-time updates প্রদান করে এবং ব্যবহারকারীর সাথে ক্রমাগত যোগাযোগের একটি কার্যকরী উপায়। এই ফিচারগুলি ব্যবহার করে আপনি ব্যবহারকারীদের জন্য একটি interactive এবং engaging অভিজ্ঞতা তৈরি করতে পারেন, বিশেষ করে যখন তারা অ্যাপ্লিকেশনটি খোলেন না বা ব্যাকগ্রাউন্ডে অ্যাপ চলতে থাকে।
Push Notifications কী?
Push Notifications হল ছোট বার্তা যা অ্যাপ্লিকেশনটি foreground বা background অবস্থায় থাকুক না কেন, সরাসরি ব্যবহারকারীর ডিভাইসে প্রদর্শিত হয়। এগুলি ব্যবহারকারীকে নতুন খবর, আপডেট বা কোনও ইভেন্ট সম্পর্কে জানাতে ব্যবহৃত হয়।
Push Notifications এর সুবিধা:
- Real-time updates: ব্যবহারকারীকে সময়মতো নতুন তথ্য প্রদান করা।
- Engagement: ব্যবহারকারীর মনোযোগ আকর্ষণ করা, যা অ্যাপের ব্যবহার বৃদ্ধি করতে সাহায্য করে।
- Re-engagement: পুরনো ব্যবহারকারীদের আবার অ্যাপ ব্যবহার করতে উৎসাহিত করা।
Mobile অ্যাপে Push Notifications সেটআপ করা
Mobile অ্যাপ্লিকেশনে Push Notifications ব্যবহার করতে বেশ কিছু টুল এবং সার্ভিস ব্যবহার করা হয়। সবচেয়ে জনপ্রিয় দুটি হল:
- Firebase Cloud Messaging (FCM) (Android, iOS)
- OneSignal (Android, iOS)
Firebase Cloud Messaging (FCM) সেটআপ
Firebase Cloud Messaging (FCM) হল গুগলের একটি সেবা যা Push Notifications পাঠানোর জন্য ব্যবহৃত হয়। FCM ব্যবহার করে অ্যাপ্লিকেশনটি সহজেই push notifications পাঠাতে পারে।
Step 1: Firebase সেটআপ
- Firebase Console এ যান এবং একটি নতুন প্রোজেক্ট তৈরি করুন।
- আপনার অ্যাপ্লিকেশনকে Firebase প্রোজেক্টের সাথে সংযুক্ত করুন।
- FCM সেটআপ করতে, Firebase SDK আপনার অ্যাপে ইনস্টল করুন।
Step 2: Firebase SDK ইনস্টল করা (React Native উদাহরণ)
npm install --save @react-native-firebase/app @react-native-firebase/messaging
Step 3: Notification Handling
import messaging from '@react-native-firebase/messaging';
// Requesting permission to receive notifications
async function requestUserPermission() {
const authStatus = await messaging().requestPermission();
const enabled = authStatus === messaging.AuthorizationStatus.AUTHORIZED ||
authStatus === messaging.AuthorizationStatus.PROVISIONAL;
if (enabled) {
console.log('Notification permission granted');
} else {
console.log('Notification permission denied');
}
}
// Get FCM Token
async function getFCMToken() {
const fcmToken = await messaging().getToken();
console.log('FCM Token:', fcmToken);
}
// Handling background notifications
messaging().onNotificationOpenedApp(remoteMessage => {
console.log('Notification caused app to open from background state:', remoteMessage.notification);
});
// Handling notifications when app is in the foreground
messaging().onMessage(async remoteMessage => {
console.log('Foreground notification:', remoteMessage.notification);
});
Step 4: Sending Push Notifications FCM Token পাওয়ার পর, আপনি Firebase Console থেকে অথবা Firebase Admin SDK ব্যবহার করে server থেকে push notification পাঠাতে পারেন।
Background Sync কী?
Background Sync হল একটি ফিচার যা আপনার অ্যাপ্লিকেশনকে ব্যাকগ্রাউন্ডে data synchronization করতে সক্ষম করে, যখন ব্যবহারকারী অ্যাপ ব্যবহার করছে না। এটি সাধারণত Service Workers এবং Background Fetch এর মাধ্যমে পরিচালিত হয় এবং আপনার অ্যাপ্লিকেশনকে offline বা low connectivity পরিস্থিতিতেও reliable রাখে।
Background Sync এর সুবিধা:
- Offline data synchronization: ব্যবহারকারী যখন অফলাইন থাকবে, তখন তাদের ডেটা ব্যাকগ্রাউন্ডে সিঙ্ক করা যায়।
- Seamless user experience: ব্যবহারকারীকে অ্যাপের কার্যকারিতা ব্যাহত না করে, স্বয়ংক্রিয়ভাবে ডেটা সিঙ্ক করা যায়।
- Efficient resource usage: ব্যাকগ্রাউন্ডে ডেটা সিঙ্ক করা, যাতে ব্যবহারকারীকে অ্যাপের স্নিগ্ধ এবং দ্রুত ব্যবহার অভিজ্ঞতা দেয়া যায়।
Mobile অ্যাপে Background Sync সেটআপ করা
React Native বা Cordova অ্যাপ্লিকেশনে Background Sync ব্যবহারের জন্য আমরা সাধারণত Service Workers বা Background Fetch API ব্যবহার করতে পারি। নিচে একটি React Native অ্যাপে Background Sync সেটআপের জন্য উদাহরণ দেওয়া হলো।
React Native Background Fetch Example
Step 1: Install Dependencies
npm install react-native-background-fetch
Step 2: Configure Background Fetch
import BackgroundFetch from 'react-native-background-fetch';
function onEvent(taskId) {
console.log('[BackgroundFetch] task: ', taskId);
// Perform your background data sync here
fetch('https://example.com/api/sync')
.then(response => response.json())
.then(data => {
console.log('Background Sync Complete:', data);
})
.catch(error => {
console.error('Background Sync Error:', error);
});
// Finish the task
BackgroundFetch.finish(taskId);
}
function configureBackgroundFetch() {
BackgroundFetch.configure(
{
minimumFetchInterval: 15, // Fetch every 15 minutes
stopOnTerminate: false, // Continue fetching in the background after app termination
startOnBoot: true, // Start fetching after reboot
},
onEvent,
(error) => {
console.log('[BackgroundFetch] failed to start:', error);
}
);
}
// Call configureBackgroundFetch in your App component or relevant place
configureBackgroundFetch();
এটি একটি Background Fetch কনফিগারেশন যেখানে প্রতি ১৫ মিনিট পর পর ডেটা সিঙ্ক করা হবে। এটি তখনও কার্যকর থাকবে যখন অ্যাপ ব্যাকগ্রাউন্ডে চলবে বা বন্ধ থাকবে।
সারাংশ
- Push Notifications ব্যবহার করে আপনি আপনার অ্যাপ্লিকেশনকে real-time updates প্রদান করতে পারেন, যা ব্যবহারকারীকে অ্যাপের জন্য ইন্টারেকটিভ এবং এঙ্গেজিং রাখে।
- Background Sync অ্যাপ্লিকেশনের offline বা low connectivity অবস্থায়ও ডেটা সিঙ্ক্রোনাইজ করতে সাহায্য করে, যা ব্যবহারকারীর অভিজ্ঞতা বৃদ্ধি করে।
- Firebase Cloud Messaging (FCM) এবং Background Fetch এর মাধ্যমে মোবাইল অ্যাপে Push Notifications এবং Background Sync ব্যবহার করা যায়, যা রিয়েল-টাইম ডেটা আপডেট এবং সিঙ্ক করার জন্য খুবই কার্যকরী।
এই দুটি ফিচার mobile apps কে আরও স্মার্ট এবং ব্যবহারকারী বান্ধব করে তোলে, যা ব্যবহারকারীদের অফলাইন থাকা সত্ত্বেও অ্যাপের কার্যকারিতা বজায় রাখতে সহায়ক।
Read more